package projectx.transaction;

import projectx.core.base.ProjectXSystemException;
import projectx.core.base.ProjectXUserException;

interface ITransaction {

	public String getTrxType();

	public String getFuncId();

	public String getPropPrefix();

	public long getMaxInterval();

	public void initialize() throws ProjectXSystemException;

	public boolean isInitialized();

	public boolean keepResource(long interval);

	public Object execute() throws ProjectXUserException, ProjectXSystemException;

	public void commit() throws ProjectXSystemException;

	public void rollback();

	public void release();
}
